Near-Field Communication (NFC) is a short-range wireless technology, normally operating at a radio frequency (RF) of 13.56 MHz using ISO/IEC 18000-3 air interfaces. NFC uses magnetic induction between two loop antennas that are located within in proximity of each other's RF fields, i.e. within each other's near fields, to effectively form an air-core transformer. This inductive coupling allows an exchange of data between two NFC capable devices, each comprising a loop antenna or similar.
In particular, the standards ISO14443 and ISO18092 provide modulation and communication protocols which may be used in the exchange of data between the two NFC capable devices.
The two NFC capable devices are usually an NFC reader and a NFC device. In a passive communication mode, the NFC reader may modulate and actively generate an RF field, which may power and provide energy to the NFC device. The NFC device may respond by modulating the existing RF field generated by the NFC reader. In an active communication mode, both the NFC reader and the NFC device may communicate by alternately generating their own RF fields.
FIG. 1 depicts an NFC reader 200 and a NFC device 100. The NFC reader 200 comprise a NFC physical interface 210 connected to a loop antenna, and a NFC controller 220. The NFC device 100 comprises a NFC physical interface 110 connected to a loop antenna, a NFC controller 120 and a processing unit 140. The NFC controller 120 further comprises a NFC controller unit (CLF) 121 and a Software Controlled Multiplexer (SW Ctrl MUX) 122.
In this exemplary case, while only one NFC device 100 is physically present within the RF field of the NFC reader 200, three independent cards/devices are actually emulated by the NFC device 100.
Namely, two Proximity Integrated Circuit Card (PICC) cards/devices are currently emulated by the NFC controller 120 based on Universal Integrated Circuit Cards (UICC), i.e. UICC1 151 and UICC2 152, each thus corresponding to an emulated card/device with a Unique Identifier (UID), e.g. 121A, 121B, . . . , 121 N, in the NFC controller unit 121.
Also, a NFC-WI device 300 configured with a Near-Field Communication Wired Interface (NFC-WI), as described in the ECMA-373 standard, is connected to the NFC controller 120. The NFC-WI device 300 has an independent, standalone functionality for card/device emulation being able to communicate with the NFC physical interface 110, here, via the Software Controlled Multiplexer (SW Ctrl MUX) 122.
However, the independent, standalone functionality for card/device emulation in the NFC-WI device 300 may cause problems when the NFC Controller unit (CLF) 121 in the NFC device 100, as described above, also supports multiple card emulations, such as, for example, for UICC1 151 and UICC2 152. This is because the multiple card/device emulations in the NFC Controller unit (CLF) 121 may use protocols, such as, for example, ISO14443-4, ISO18092, etc., that are based on the ISO14443A standard, i.e. that is the same as the ECMA-373 standard. That is, both the NFC Controller unit (CLF) 121 and the NFC-WI device 300 will require, want to respond and perform according to the polling, anti-collision and selection procedure as defined in the ISO14443-3 specification.
A problem with this is that it is impossible, in a standard implementation as described above, to send multiple responses to a polling command—as it would happen in case of separate physical devices, i.e. not emulated—to make the NFC reader 200 aware of the presence of multiple devices, as further described below.
FIG. 2 shows a signalling diagram between the NFC device 100 and the NFC reader 200 performing a polling, anti-collision and selection procedure.
As shown in Actions 201-202, when separate physical NFC devices 100 of the same technology are present in front of a NFC reader 200, responses to a polling command from each separate physical NFC device 100 will create collisions in the NFC reader 200 making the NFC reader 200 aware of the presence of more than one separate physical NFC device 100. Thus, after an anti-collision and selection procedure as shown in Actions 203-206, the NFC reader 200 may deselect the NFC devices 100 one by one if e.g. each Application ID (AID) transmitted by each NFC device 100, e.g. 221A, 221B, . . . , 221N, is not matching the AID targeted by the NFC reader 200. An NFC device 100 may also be deselected if e.g. it does not support the desired protocol of the targeted AID. This is shown in Actions 207.
However, as mentioned above, an NFC Device 100 is only able to send one reply from any of the emulated PICCs or the NFC-WI device 300. Thus, the NFC reader 200 may thus not be aware of the NFC-WI device 300 or the multiple PICCs emulated by NFC device 100.
Consequently, the NFC reader 200 may restart the polling, anti-collision and selection procedure again. The NFC controller 120 may then e.g. use a different protocol or report another AID from an internal list in its response to the polling or anti-collision command to the NFC reader 200. Also, the NFC reader 200 may switch to polling in a different technology, switch to listen mode, or even switch off its RF field, since the NFC reader 200 is only aware of NFC devices 100 emulating one NFC device only which presently do not meet the targeted functionality.
Hence, since both the NFC Controller unit (CLF) 121 and the NFC-WI device 300 require and performs the polling, anti-collision and selection as defined in the ISO14443-3 specification and uses separate data paths 122A, 122B as shown in FIG. 1, only one of the NFC Controller unit (CLF) 121 and the NFC-WI device 300 will be able to respond to a particular polling or anti-collision command one at a time. This means alternate exposure of an emulated card/device based on the NFC Controller unit (CLF) 121 or an emulated card/device based on the NFC-WI device 300.
Consequently, the NFC reader 200 may thus only be aware of the presence of one of the emulated cards/devices in the NFC device 100 and may then e.g. switch to polling in a different technology, switch to listen mode, or even switch off its RF field, etc. Therefore, the NFC reader 200 may not be able to correctly parse all emulated cards/devices in the NFC device 100.